#include <iostream>
#include <string>
using namespace std;

enum Weight
{
    even,
    up,
    down
};

struct Balance
{
    string left;
    string right;
    Weight res;
};

// true表示有可能为假币
// false表示一定为真币
bool coin[12];

int main()
{
    memset(coin, true, 12);
    Balance A[3] = {{"ABCD", "EFGH", even},
                    {"ABCI", "EFJK", up},
                    {"ABIJ", "EFGH", even}};

    for (Balance test : A)
    {
        if (test.res == even)
        {
            for (char ch : test.left)
                coin[ch - 'A'] = false;
            for (char ch : test.right)
                coin[ch - 'A'] = false;
        }
    }

    for (int i = 0; i < 12; i++)
    {
        // 已经确定是真币的可以跳过
        if (!coin[i])
            continue;

        bool match = true;
        int weight = 0;
        for (Balance test : A)
        {
            if (test.res == even)
                continue;

            int p = 0;
            if (test.left.find(i + 'A') != string::npos)
                p = (test.res == up) ? 1 : -1; // 如果假币在左边，左边重，说明假币重
            else if (test.right.find(i + 'A') != string::npos)
                p = (test.res == up) ? -1 : 1;

            if (p == 0 || (weight && p != weight)) // 如果一次算的假币重，一次算的假币轻，说明不是假币
            {
                match = false;
                break;
            }
            weight = p;
        }
        if (match)
        {
            cout << "假币是" << (char)(i + 'A') << endl;
            if (weight == 1)
                cout << "假币比真币重" << endl;
            else
                cout << "假币比真币轻" << endl;
        }
    }

    return 0;
}